<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>
    // var list = [45, 21, 36, 94, 5, 72];

    // var min = list[0]; //假设第一个值时最小值

    // for (var j = 1; j < list.length; j++) { // 后面的每一个值的下标
    //     var item = list[j]; //  后面的每一个值
    //     if (item < min) {
    //         min = item;
    //     }
    // }

    // console.log(min);


</script>
<script>

    // 选择排序：
    // 第一步： 取数组的最小值 -> 放在第一个的位置
    // 第二步： 取数组的第二小值 -> 放在第二个的位置
    // ... 依次类推   从小到大排列

    // 第一步： 取数组的最大值 -> 放在第一个的位置
    // 第二步： 取数组的第二大值 -> 放在第二个的位置
    // ... 依次类推   从大到小排列


    var list = [45, 21, 36, 94, 5, 72];
    console.log("原数组", list);


    // 最后一个数 没有必要和后面所有的比 (n个数比n-1轮)
    for (var i = 0; i < list.length - 1; i++) {

        var minIndex = i; //假设第一个值时最小值(记录最小值的下标)  0  1

        for (var j = i + 1; j < list.length; j++) { // 后面的每一个值的下标
            var item = list[j]; //  后面的每一个值
            if (item < list[minIndex]) { // 如果存在比 当前值还要小的数 -> 记录下标
                minIndex = j;
            }
        }
        // console.log(i, minIndex);

        // if (i == minIndex) continue;  // 当前位置就是最小值 -> 没有必要交换

        var temp = list[i];
        list[i] = list[minIndex];
        list[minIndex] = temp;

        console.log(list);
    }


















</script>

</html>